#ifndef __G_LOCAL_H
#define __G_LOCAL_H

#include "g_public.h"

#define MOD_NAME			"BaseGame"

using namespace og;

class GameClass : public GameExport
{
public:
	int GetApiVersion( void ) const { return GAME_API_VERSION; };

	void OnLoad( PluginImportBase *import );
	void OnUnload( void );

	// This would be where we define the virtual members of the GameExport class

	// Startup, shutdown, run -- the basics
	void GameInit();
	void GameShutdown();
	void RunFrame();

	// GUI stuff sent by Irrlicht.
	void GUIEvent(int eventType, void *caller, void *element);		// passed as void so that Irrlicht doesn't need to be included, except in UI stuff.
};

extern GameImport *gi;	// decided to stick with the Raven/Q2 naming scheme, so shoot me
extern GameClass ge;
extern GameRenderer *r;

void UI_Main();

#endif